'''
占位符
    str.format(param1,param2...)    不改变字符串本身的值，入参和参数列表要严格对上， 否则会报错    a='名字是：{0}，年龄是：{1}，{0}目前在{2}', a.format("金球",28)
填充与对齐
    填充常跟对齐一起使用
    ^、<、>分别是居中、居左、居右对齐，后面代宽度
    :后面代表填充的字符，只能是一个字符，不指定的话默认填充空格，:后面代表参数索引。"我是{0}，我喜欢数字{1:*^8}"
    format方法入参是要处理的字符串，调用format的事前面的规则，写法如下："{:*>8}".format(“245”)，代表将245右对齐，对齐后总共8个字符，左边以*填充
数字格式化
    浮点数通过f，整数通过d进行需要的格式化。（个人理解可以参考C语言）更多的可以查询参考
    a = "我是{0}，我的存款有{1:.2f}" # 代表保留2位小数
    print(a.format("李金球",3888.234342))
'''
# 以索引判定，对顺序有严格要求
a = '名字是：{0}，年龄是：{1}，{0}目前在{2}'
a_new = a.format("金球", 28, "东莞")
print(a_new)

# 以参数名判定，对顺序无要求
b = '名字是：{name}，年龄是：{age}，{name}目前在{addr}'
b_new = b.format(addr='东莞', name='金球', age=28)
print(b_new)

# 填充与对齐
print("{:*>8}".format("245"))

# 数字格式化
a = "我是{0}，我的存款有{1:.2f}"  # 代表保留2位小数
print(a.format("李金球", 3888.234342))
